//
// Created by Administrator on 2019/11/29.
//

#ifndef EXERCISE_SS_GRAPH_H
#define EXERCISE_SS_GRAPH_H

#include "stdio.h"
#include "stdlib.h"

#define TRUE 1
#define FALSE 0
#define MAX_SIZE 5
// 弧
typedef struct ArcNode {
    // 该弧指向的顶点
    int adjv;
    // 下一条边
    struct ArcNode *next;
} ArcNode;

// 顶点
typedef struct VNode {
    char data;
    ArcNode *first;
} VNode;

// 图
typedef struct AGraph {
    // 顶点数组
    VNode adj_list[MAX_SIZE];
    // 顶点个数
    int vex_num;
    // 边个数
    int arc_num;
} AGraph;

// 创建弧
ArcNode *created_arc(int adjv);

// 创建顶点
VNode created_vex(char data, ArcNode *first);

// 访问结点
void visit_node(int v);

#endif //EXERCISE_SS_GRAPH_H
